package com.shunli.cterminal.model.res;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

import static com.examples.core.tool.utils.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

/**
 * @ClassName: H5OrderInfoVO
 * @Description: TODO
 * @Author: DAIYALU
 * @Date: 2024/11/9
 * @Version: 1.0
 */
@Data
public class H5OrderInfoVO implements Serializable {

    private static final long serialVersionUID = -588305314429984098L;

    @Schema(description = "生日")
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime birthday;
    @Schema(description = "日期类型：0-公历(阳历)，1-阴历(农历)，2-国历")
    private Integer isLunar;

    @Schema(description = "性别 1-男；0女 2未知")
    private Integer sex;

    @Schema(description = "用户名称")
    private String userName;

    @Schema(description = "订单号")
    private String orderId;

    @Schema(description = "原价")
    private BigDecimal yuanPrice;

    @Schema(description = "商品编码")
    private String goodsType;

    @Schema(description = "手机号")
    private String phone;

    @Schema(description = "付款状态(0-未付款 1-已付款)")
    private Integer state;

    @Schema(description = "红包金额")
    private BigDecimal abductBao;

    @Schema(description = "是否使用红包(1 使用红包 0 未使用)")
    private Integer isUseRedbag;

    @Schema(description = "实际付款")
    private BigDecimal realAmount;

    private String firstName;
    private String isBirth;

    private String woName;
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime wbirthday;
    private String taName;
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime tbirthday;

    private String businessType;
    private String areaFname;
    private String hangyeLname;

    /**
     * 商户号
     */
    private String merchantNumber;

    private String appid;

    private PayConfigInfo payConfigInfo;

    @Data
    public static class PayConfigInfo{

        private String payDomain;
        private List<String> channelCode;
        private String wechatMchId;
        private String alipayMchId;
    }
}
